<?php
//-------------------------------------------------------------------------------------------------------
    class objTimer {
            protected $started = false;
            protected $start_time = false;
            protected $finish_time = false;

        public function __construct($start=false) {
            if( $start ) $this->start();
        } //constructor

        public function start() {
            $this->clear();
            $start_time = microtime();
            // разделяем секунды и миллисекунды
            //(становятся значениями начальных ключей массива-списка)
            $start_array = explode(" ", $start_time);
            // это и есть стартовое время
            $this->start_time = $start_array[1] + $start_array[0];
            $this->started = true;
        } //start

        public function finish() {
            $end_time = microtime();
            $end_array = explode(' ', $end_time);
            $this->finish_time = $end_array[1] + $end_array[0];
            $this->started = false;
        } //finish

        public function clear() {
            $this->start_time = 0;
            $this->finish_time = 0;
            $this->started = false;
        } //clear

        public function time() {
            return $this->finish_time - $this->start_time;
        } //time

        public function isRun() {
            return $this->started;
        } //isRun

    } //class Timer
//-------------------------------------------------------------------------------------------------------
?>
